 package com.esm.service;

import java.util.List;

import com.esm.model.User;

import net.sf.json.JSONArray;

/**
 * UserService
 * 用户服务
 * @author 魏长均
 *
 */
public interface UserService 
{
	/**
	 * 	查询全体员工根据员工角色id
	 * @param rid员工角色id
	 * @return	员工查询结果接
	 * @author 魏长均
	 */
	public List<User> getEmployees(int rid,int start,int pageSize);
	/**
	 * 	查询全体员工根据员工角色id
	 * @param rid员工角色id
	 * @return	员工查询结果接
	 * @author 魏长均
	 */
	public JSONArray getAllEmployees(int rid,int start,int pageSize);
	/**
	 * 根据部门id号获取员工信息
	 * @param rid	查询对象的角色号
	 * @param dep_id	部门id号
	 * @return	员工对象的结果集
	 * @author 魏长均
	 */
	public List<User> getEmployeesByDepid(int rid,int dep_id,int start,int pageSize);
	/**
	 * 根据部门id号获取员工信息
	 * @param rid	查询对象的角色号
	 * @param dep_id	部门id号
	 * @return	员工对象的结果集
	 * @author 魏长均
	 */
	public JSONArray getDeptEmployees(int rid,int dep_id,int start,int pageSize);
	/**
	 * 查询全体员工总数
	 * @param rid	员工角色id
	 * @return	全体员工的总数
	 * @author 魏长均
	 */
	public int getEmpolyeesCount(int rid);
	/**
	 * 新增员工信息
	 * @param addUser		新增员工对象
	 * @return	布尔值
	 * @author 魏长均
	 */
	public int getDeptEmpolyeesCount(int rid,int dep_id);
	/**
	 * 新增员工信息
	 * @param addUser		新增员工对象
	 * @return	布尔值
	 * @author 魏长均
	 */
	public boolean addEmployee(User addUser);
	/**
	 * 修改员工信息
	 * @param updateUser		新增员工对象
	 * @return	布尔值
	 * @author 魏长均
	 */
	public boolean updateEmployee(int uid,User updateUser);
	/**
	 * 删除员工信息
	 * @param uid		删除员工id
	 * @return	布尔值
	 * @author 魏长均
	 */
	public boolean deleteEmployee(int uid);
	
	/**
	 * 查询部门名称根id号
	 * @param dname	部门名称
	 * @return	部门id号
	 * @author 魏长均
	 */
	public int getDidByDname(String dname);

	/**
	 * 通过部门id获取下面员工的姓名
	 * @param rid		员工角色id
	 * @param dep_id	部门id
	 * @return	员工对象结果集
	 * @author 魏长均
	 */
	public JSONArray getDempName(int rid,int dep_id);
	/**
	 * 通过部门id查询下面员工的名字
	 * @param rid	员工角色id号
	 * @param dep_id	部门id号
	 * @return 员工对象结果集
	 * @author 魏长均
	 */
	public JSONArray getDempNameByDid(int rid,int dep_id);
	
	/**
	 * 获取员工根据uid
	 * @param uid		员工id
	 * @return	员工对象
	 *  @author 魏长均
	 */
	public User getDempByUid(int uid);

}
